const Generator = require("yeoman-generator").default;
module.exports = class extends Generator {
  // 0. 构造方法
  constructor(args, opts) {
    super(args, opts);
  }
  // 1. 询问用户
  prompting() {
    return this.prompt([
      {
        type: "input",
        name: "name",
        message: "请输入项目名称",
        default: this.appname, // 项目目录名称，appname是内置变量
      },
    ]).then((answers) => {
      this.answers = answers;
    });
  }
  // 2. 创建文件
  writing() {
    // this.log(this.answers)
    let srcDir = this.sourceRoot(); // 模板目录
    let destDir = this.destinationPath(); // 目标目录
    this.fs.copyTpl(srcDir, destDir, this.answers); // 模板目录，目标目录，数据
  }
  // 3. 安装依赖
  install() {
    this.env.options.nodePackageManager = "pnpm"; // 安装依赖使用yarn
  }
  end() {
    this.log("项目创建成功");
  }
};
